/*
 * Copyright (c) 2022-2022 All rights Reserved.
 */

package com.driving.core.service;

import java.util.Collections;
import java.util.Map;

import com.driving.core.base.IBasePersonService;
import com.driving.core.entity.Student;
import com.driving.core.service.dto.ApplyDTO;
import com.driving.core.service.dto.StudentDTO;
import com.driving.core.service.dto.SuggestDTO;

/**
 * 学员服务
 *
 * @author SAGITTAR
 * @since 2017
 */
public interface IStudentService extends IBasePersonService<Student, StudentDTO> {

    /**
     * 学员注册
     *
     * @param studentDTO studentDTO
     * @return 学员注册
     */
    Map<String, Object> register(StudentDTO studentDTO);

    /**
     * 吐槽，建议，意见
     *
     * @param suggestDTO suggestDTO
     * @return 吐槽，建议，意见
     */
    boolean suggest(SuggestDTO suggestDTO);

    /**
     * 学员报名
     *
     * @param applyDTO applyDTO
     * @return 学员报名
     */
    boolean apply(ApplyDTO applyDTO);

    /**
     * 查找我的教练
     *
     * @param studentId studentId
     * @return 查找我的教练
     */
    Map<String, String> myCoach(int studentId);

    /**
     * 获取驾校
     *
     * @param areaName areaName
     * @return 获取驾校
     */
    Map<String, Object> selectSchoolListByAreaName(String areaName);

    /**
     * 获取教练
     *
     * @param areaName areaName
     * @return 获取教练
     */
    Map<String, Object> selectCoachListByAreaName(String areaName);

    /**
     * 获取驾校详情
     *
     * @param schoolId schoolId
     * @return 获取驾校详情
     */
    Map<String, Object> selectSchoolDetailBySchoolId(int schoolId);

    /**
     * 评论信息
     *
     * @return 评论信息
     */
    default Map<String, Object> commentDetail() {
        return Collections.emptyMap();
    }

    /**
     * 学前注意
     *
     * @return 学前注意
     */
    default String preSchool() {
        return "这里是学前注意事项";
    }

    /**
     * 离校注意
     *
     * @return 离校注意
     */
    default String postSchool() {
        return "这是取证之后的注意事项";
    }
}
